REM Simple Windows NT/2000/XP .cmd version of GPSBabel testo script\r
REM\r
\r
+SET GPSBABEL_FREEZE_TIME=y\r
SET TMPDIR=%TEMP%\WINTESTO\r
MKDIR %TMPDIR% 2>NUL:\r
\r
FOR /f "delims=" %%a IN ('fc %PARAM1% %PARAM2%') DO IF "x%%a"=="xFC: no differences encountered" GOTO :EOF\r
REM Show the first 5 lines of difference\r
fc %1 /LB5 %PARAM1% %PARAM2%\r
-ECHO %* are not the same (first 5 differences above) - pausing. ^C to quit if required\r
-PAUSE\r
+if errorlevel 1 ECHO %* are not the same (first 5 differences above) - pausing. ^C to quit if required\r
+if errorlevel 1 PAUSE\r
GOTO :EOF\r
\r
REM ==================================\r
:REALSTART\r
\r
\r
+REM Turn on GNU libc instrumentation.\r
+\r
SET PNAME=.\gpsbabel\r
IF NOT EXIST %PNAME%.EXE ECHO Can't find %PNAME%&& GOTO :EOF\r
\r
\r
\r
\r
+REM Some formats are just too boring to test. The ones that\r
+REM are xcsv include \r
+REM garmin301 \r
+REM garmin_poi \r
+REM gpsdrivetrack\r
+REM nima \r
+REM mapconverter\r
+REM geonet\r
+REM saplus\r
+REM s_and_t\r
REM Geocaching .loc\r
DEL %TMPDIR%\gl.loc\r
@echo on\r
@echo off\r
@echo.\r
CALL :COMPARE %TMPDIR%\mm.gps %TMPDIR%\gu.wpt\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -t -i gpx -f reference\track\tracks.gpx -o pcx -F %TMPDIR%\pcx.trk\r
+%PNAME% -t -i pcx -f reference\track\pcx.trk -o pcx -F %TMPDIR%\pcx2.trk\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\pcx.trk %TMPDIR%\pcx2.trk \r
\r
+REM \r
REM Magellan file format\r
+REM \r
@echo on\r
@echo Testing...\r
%PNAME% -i magellan -f reference\magfile -o magellan -F %TMPDIR%\magfile\r
@echo.\r
CALL :COMPARE %TMPDIR%\magfile reference\magfile\r
\r
+REM \r
+REM Magellanx is just like, but with longer names. (which this admittedly\r
+REM doesn't actually exercise...)\r
+REM \r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i magellan -f reference\magfile -o magellanx -F %TMPDIR%\magfile2\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\magfile2 reference\magfile\r
+\r
REM Navitrak DNA marker format\r
@echo on\r
@echo Testing...\r
@echo.\r
CALL :COMPARE %TMPDIR%\magellan.rte reference\route\magellan.rte\r
\r
+\r
REM \r
REM GPX routes -- since GPX contains a date stamp, tests will always\r
REM fail, so we use magellan as an interim format...\r
%PNAME% -r -i coastexp -f reference\coastexp.nob -o gpx -F %TMPDIR%\coastexp.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\coastexp.gpx reference\coastexp.ref\r
@echo on\r
@echo Testing...\r
%PNAME% -r -i gpx -f %TMPDIR%\coastexp.gpx -o coastexp -F %TMPDIR%\coastexp.nob\r
%PNAME% -w -i coastexp -f reference\coastexp.nob -o gpx -F %TMPDIR%\coastexp.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\coastexp.gpx reference\coastexp.ref3\r
@echo on\r
@echo Testing...\r
%PNAME% -w -i gpx -f %TMPDIR%\coastexp.gpx -o coastexp -F %TMPDIR%\coastexp.nob\r
@echo off\r
@echo.\r
CALL :COMPARE %TMPDIR%\1.gpx %TMPDIR%\2.gpx\r
+REM \r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i geoniche -f reference\gn-targets.pdb -o gpx -F %TMPDIR%\gn-targets.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\gn-targets.gpx reference\gn-targets.gpx\r
\r
REM \r
REM saroute covers *.anr, *.rte, and *.rtd, but I only have an .anr for testing.\r
%PNAME% -i igc -f %TMPDIR%\igc.out -o gpx -F %TMPDIR%\igc.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\igc.gpx reference\igc1_gpx.out\r
\r
@echo on\r
@echo Testing...\r
%PNAME% -i igc -f reference\igc2.igc -o gpx -F %TMPDIR%\igc.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\igc.gpx reference\igc2_gpx.out\r
\r
@echo on\r
@echo Testing...\r
%PNAME% -i igc -f %TMPDIR%\igc.out -o gpx -F %TMPDIR%\igc.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\igc.gpx reference\igc2_gpx.out\r
\r
REM \r
REM Google Maps XML test\r
DEL %TMPDIR%\google.out\r
@echo on\r
@echo Testing...\r
-%PNAME% -i google -f reference\google.xml -o arc -F %TMPDIR%\google.out\r
+%PNAME% -i google -f reference\google.xml -o csv -F %TMPDIR%\google.out\r
@echo off\r
@echo.\r
-CALL :COMPARE %TMPDIR%\google.out reference\google.arc\r
+CALL :COMPARE %TMPDIR%\google.out reference\google.csv\r
\r
DEL %TMPDIR%\google.out\r
@echo on\r
@echo Testing...\r
-%PNAME% -i google -f reference\google.js -o arc -F %TMPDIR%\google.out\r
+%PNAME% -i google -f reference\google.js -o csv -F %TMPDIR%\google.out\r
@echo off\r
@echo.\r
-CALL :COMPARE %TMPDIR%\google.out reference\google.arc\r
+CALL :COMPARE %TMPDIR%\google.out reference\google.csv\r
+\r
+DEL %TMPDIR%\google.out\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i google -f reference\google_jan_06.html -o csv -F %TMPDIR%\google.out\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\google.out reference\google_jan_06.csv\r
\r
REM \r
REM DeLorme .an1 tests\r
%PNAME% -i an1 -f reference\foo.an1 -o an1 -F %TMPDIR%\an1.out\r
@echo off\r
@echo.\r
-CALL :COMPARE %TMPDIR%\an1.out reference\an1-an1.ref\r
+CALL :BINCOMPARE %TMPDIR%\an1.out reference\an1-an1.ref\r
\r
DEL %TMPDIR%\an1.out\r
@echo on\r
%PNAME% -i xmap -f reference\xmap -o an1 -F %TMPDIR%\an1.out \r
@echo off\r
@echo.\r
-CALL :COMPARE %TMPDIR%\an1.out reference\an1-out.ref\r
+CALL :BINCOMPARE %TMPDIR%\an1.out reference\an1-out.ref\r
\r
DEL %TMPDIR%\an1.out\r
@echo on\r
%PNAME% -i google -f reference\google.js -o an1 -F %TMPDIR%\an1.out\r
@echo off\r
@echo.\r
-CALL :COMPARE %TMPDIR%\an1.out reference\an1-line-out.ref\r
+CALL :BINCOMPARE %TMPDIR%\an1.out reference\an1-line-out.ref\r
\r
REM \r
REM TomTom .ov2 tests\r
\r
@echo on\r
@echo Testing...\r
-%PNAME% -i geo -f geocaching.loc -o tabsep -F - | %PNAME% -i tabsep -f - -o geo -F %TMPDIR%\tabsep.out\r
+%PNAME% -i geo -f geocaching.loc -o tabsep -F %TMPDIR%\tabsep.in\r
+%PNAME% -i tabsep -f %TMPDIR%\tabsep.in -o geo -F %TMPDIR%\tabsep.out\r
%PNAME% -i geo -f geocaching.loc -o geo -F %TMPDIR%\geotabsep.out\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\tabsep.out %TMPDIR%\geotabsep.out\r
\r
REM \r
REM Now do the same for custom - it has the same issues.\r
REM \r
\r
-CALL :COMPARE %TMPDIR%\tabsep.out %TMPDIR%\geotabsep.out\r
@echo on\r
@echo Testing...\r
-%PNAME% -i geo -f geocaching.loc -o custom -F - | %PNAME% -i custom -f - -o geo -F %TMPDIR%\custom.out\r
+%PNAME% -i geo -f geocaching.loc -o custom -F %TMPDIR%\custom.in\r
+%PNAME% -i custom -f %TMPDIR%\custom.in -o geo -F %TMPDIR%\custom.out\r
%PNAME% -i geo -f geocaching.loc -o geo -F %TMPDIR%\geocustom.out\r
@echo off\r
@echo.\r
%PNAME% -t -i pathaway -f reference\track\pathaway.pdb -o gpx -F %TMPDIR%\pathaway.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\pathaway.gpx reference\track\pathaway.gpx\r
\r
REM \r
REM Garmin GPS Database .gdb tests\r
DEL %TMPDIR%\gdb-*\r
@echo on\r
@echo Testing...\r
-%PNAME% -w -r -t -i gdb -f reference\gdb-sample.gdb -o gpx -F %TMPDIR%\gdb-sample.gpx\r
+%PNAME% -w -r -t -i gdb,via -f reference\gdb-sample.gdb -o gpx -F %TMPDIR%\gdb-sample.gpx\r
@echo off\r
@echo.\r
CALL :COMPARE reference\gdb-sample.gpx %TMPDIR%\gdb-sample.gpx\r
%PNAME% -i vitosmt -f reference\vitosmt.smt -o gpx -F %TMPDIR%\vitosmt.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\vitosmt.gpx reference\vitosmt.gpx\r
@echo on\r
@echo Testing...\r
%PNAME% -t -i vitosmt -f reference\vitosmt.smt -o gpx -F %TMPDIR%\vitosmt_t.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\vitosmt_t.gpx reference\track\vitosmt_t.gpx\r
\r
REM \r
REM tracks filter tests\r
%PNAME% -t -i gpx -f reference\track\trackfilter.gpx -x track,pack,split,title=LOG-%%Y%%m%%d -o gpx -F %TMPDIR%\trackfilter.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\trackfilter.gpx reference\track\trackfilter.gpx\r
\r
REM \r
REM Map&Guide Motorrad Routenplaner .bcr files test\r
%PNAME% -r -i bcr -f reference\route\bcr-sample.bcr -o gpx -F %TMPDIR%\bcr-sample.gpx\r
@echo off\r
@echo.\r
+CALL :COMPARE %TMPDIR%\bcr-sample.gpx reference\route\bcr-sample.gpx \r
@echo on\r
@echo Testing...\r
%PNAME% -r -i gpx -f reference\route\bcr-sample.gpx -o bcr -F %TMPDIR%\bcr-sample2.bcr\r
@echo.\r
CALL :COMPARE %TMPDIR%\mag_pdb-sample.gpx reference\route\mag_pdb-sample.gpx\r
\r
+REM \r
+REM CompeGPS I/O tests\r
+REM \r
+DEL %TMPDIR%\compegps*\r
+REM read (CompeGPS)\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i compegps -f reference\compegps.wpt -o gpx -F %TMPDIR%\compegps-wpt.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\compegps-wpt.gpx %TMPDIR%\compegps-wpt.gpx\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i compegps -f reference\route\compegps.rte -o gpx -F %TMPDIR%\compegps-rte.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\route\compegps-rte.gpx %TMPDIR%\compegps-rte.gpx\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i compegps -f reference\track\compegps.trk -o gpx -F %TMPDIR%\compegps-trk.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\track\compegps-trk.gpx %TMPDIR%\compegps-trk.gpx\r
+REM write (CompeGPS)\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i compegps -f reference\compegps.wpt -o compegps -F %TMPDIR%\compegps.wpt\r
+%PNAME% -i compegps -f %TMPDIR%\compegps.wpt -o gpx -F %TMPDIR%\compegps-wpt2.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\compegps-wpt.gpx %TMPDIR%\compegps-wpt2.gpx\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -t -i compegps -f reference\track\compegps.trk -o compegps -F %TMPDIR%\compegps.trk\r
+%PNAME% -i compegps -f %TMPDIR%\compegps.trk -o gpx -F %TMPDIR%\compegps-trk2.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\track\compegps-trk.gpx %TMPDIR%\compegps-trk2.gpx\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -r -i compegps -f reference\route\compegps.rte -o compegps -F %TMPDIR%\compegps.rte\r
+%PNAME% -i compegps -f %TMPDIR%\compegps.rte -o gpx -F %TMPDIR%\compegps-rte2.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE reference\route\compegps-rte.gpx %TMPDIR%\compegps-rte2.gpx\r
+\r
+REM \r
+REM Testing the 'nuketypes' filter is funky.\r
+REM Convert a GPX file to GPX to eliminate jitter.\r
+REM Then nuke the all but the three individual types, merge the result together\r
+REM and verify we got the original back.\r
+REM \r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i gpx -f reference\gdb-sample.gpx -o gpx -F %TMPDIR%\alltypes.gpx\r
+%PNAME% -i gpx -f %TMPDIR%\alltypes.gpx -x nuketypes,tracks,routes -o gpx -F %TMPDIR%\wpts.gpx\r
+%PNAME% -i gpx -f %TMPDIR%\alltypes.gpx -x nuketypes,waypoints,routes -o gpx -F %TMPDIR%\trks.gpx\r
+%PNAME% -i gpx -f %TMPDIR%\alltypes.gpx -x nuketypes,waypoints,tracks -o gpx -F %TMPDIR%\rtes.gpx\r
+%PNAME% -i gpx -f %TMPDIR%\wpts.gpx -f %TMPDIR%\trks.gpx -f %TMPDIR%\rtes.gpx -o gpx -F %TMPDIR%\merged.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\alltypes.gpx %TMPDIR%\merged.gpx\r
+\r
+REM \r
+REM Universal CSV - unicsv\r
+REM \r
+ECHO lat,lon,descr,name,notes,unk,unk> %TMPDIR%\unicsv.txt\r
+@echo on\r
+@echo Testing...\r
+%PNAME% -i unicsv -f %TMPDIR%\unicsv.txt -o gpx -F %TMPDIR%\unicsv.gpx\r
+@echo off\r
+@echo.\r
+CALL :COMPARE %TMPDIR%\unicsv.gpx reference\unicsv.gpx\r
+\r